package com.glsc.ngateway.common.api.flowable.dto.task.formData.equipment.domainDto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.glsc.ngateway.common.api.common.dto.BaseEntityDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.List;

/**
 * @author xuchang
 */
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FlowFormEquipmentModifyServerDetailDto extends BaseEntityDto {

    private static final long serialVersionUID = 6606619614947402421L;

    @ApiModelProperty(value = "主表ID")
    private Long equipmentModifyId;

    @ApiModelProperty(value = "设备Id")
    private Integer devId;

    @ApiModelProperty(value = "业务系统")
    private String businessName;

    @ApiModelProperty(value = "应用明细(同mx_id)")
    private String applicationDetail;

    @ApiModelProperty(value = "机房")
    private String machineRoom;

    @ApiModelProperty(value = "机柜")
    private String machineCab;

    @ApiModelProperty(value = "单位")
    private String machineUnit;

    @ApiModelProperty(value = "资产编号原")
    private String capitalTyped;

    @ApiModelProperty(value = "资产编号")
    private String capitalType;

    @ApiModelProperty(value = "设备类型")
    private String capitalStyle;

    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "型号")
    private String brandType;

    @ApiModelProperty(value = "PN/PID")
    private String pnPid;

    @ApiModelProperty(value = "SN")
    private String sn;

    @ApiModelProperty(value = "操作系统")
    private String operationSys;

    @ApiModelProperty(value = "硬盘规格")
    private String diskType;

    @ApiModelProperty(value = "CPU")
    private String cpu;

    @ApiModelProperty(value = "内存")
    private String memory;

    @ApiModelProperty(value = "责任人")
    private String userId;

    @ApiModelProperty(value = "出厂年份")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate ccTime;

    @ApiModelProperty(value = "维保年份")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate wbTime;

    @ApiModelProperty(value = "上架时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate sjTime;

    @ApiModelProperty(value = "预计使用年限")
    private String planOn;

    @ApiModelProperty(value = "单/双电源")
    private String supportPower;

    @ApiModelProperty(value = "备注")
    private String bz;

    @ApiModelProperty(value = "状态记录")
    private String machineStatus;

    @ApiModelProperty(value = "MAC1")
    private String mac1;

    @ApiModelProperty(value = "MAC2")
    private String mac2;

    @ApiModelProperty(value = "MAC3")
    private String mac3;

    @ApiModelProperty(value = "MAC4")
    private String mac4;

    @ApiModelProperty(value = "MAC5")
    private String mac5;

    @ApiModelProperty(value = "MAC6")
    private String mac6;

    @ApiModelProperty(value = "MAC7")
    private String mac7;

    @ApiModelProperty(value = "MAC8")
    private String mac8;

    @ApiModelProperty(value = "MAC9")
    private String mac9;

    @ApiModelProperty(value = "MAC10")
    private String mac10;

    @ApiModelProperty(value = "MAC11")
    private String mac11;

    @ApiModelProperty(value = "MAC12")
    private String mac12;


    @ApiModelProperty(value = "IPList")
    private List<String> ipList;

    @ApiModelProperty(value = "集群")
    private String qj;

    @ApiModelProperty(value = "维修记录")
    private String fixRecord;

    @ApiModelProperty(value = "维修日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate fixTime;

    @ApiModelProperty(value = "备份情况说明")
    private String bf;

    @ApiModelProperty(value = "业务网段")
    private String networkSegment;

    @ApiModelProperty(value = "ILO")
    private String ilo;

    /**
     * 修改后
     */
    @ApiModelProperty(value = "业务系统(修改后)")
    private String businessNameModified;

    @ApiModelProperty(value = "应用明细(修改后)")
    private String applicationDetailModified;

    @ApiModelProperty(value = "机房(修改后)")
    private String machineRoomModified;

    @ApiModelProperty(value = "机柜(修改后)")
    private String machineCabModified;

    @ApiModelProperty(value = "单位(修改后)")
    private String machineUnitModified;

    @ApiModelProperty(value = "资产编号原(修改后)")
    private String capitalTypedModified;

    @ApiModelProperty(value = "资产编号(修改后)")
    private String capitalTypeModified;

    @ApiModelProperty(value = "设备类型(修改后)")
    private String capitalStyleModified;

    @ApiModelProperty(value = "品牌(修改后)")
    private String brandModified;

    @ApiModelProperty(value = "型号(修改后)")
    private String brandTypeModified;

    @ApiModelProperty(value = "PN/PID(修改后)")
    private String pnPidModified;

    @ApiModelProperty(value = "SN(修改后)")
    private String snModified;

    @ApiModelProperty(value = "操作系统(修改后)")
    private String operationSysModified;

    @ApiModelProperty(value = "硬盘规格(修改后)")
    private String diskTypeModified;

    @ApiModelProperty(value = "CPU(修改后)")
    private String cpuModified;

    @ApiModelProperty(value = "内存(修改后)")
    private String memoryModified;

    @ApiModelProperty(value = "责任人(修改后)")
    private String userIdModified;

    @ApiModelProperty(value = "出厂年份(修改后)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate ccTimeModified;

    @ApiModelProperty(value = "维保年份(修改后)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate wbTimeModified;

    @ApiModelProperty(value = "上架时间(修改后)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate sjTimeModified;

    @ApiModelProperty(value = "预计使用年限(修改后)")
    private String planOnModified;

    @ApiModelProperty(value = "单/双电源(修改后)")
    private String supportPowerModified;

    @ApiModelProperty(value = "备注(修改后)")
    private String bzModified;

    @ApiModelProperty(value = "状态记录(修改后)")
    private String machineStatusModified;

    @ApiModelProperty(value = "MAC1(修改后)")
    private String mac1Modified;

    @ApiModelProperty(value = "MAC2(修改后)")
    private String mac2Modified;

    @ApiModelProperty(value = "MAC3(修改后)")
    private String mac3Modified;

    @ApiModelProperty(value = "MAC4(修改后)")
    private String mac4Modified;

    @ApiModelProperty(value = "MAC5(修改后)")
    private String mac5Modified;

    @ApiModelProperty(value = "MAC6(修改后)")
    private String mac6Modified;

    @ApiModelProperty(value = "MAC7(修改后)")
    private String mac7Modified;

    @ApiModelProperty(value = "MAC8(修改后)")
    private String mac8Modified;

    @ApiModelProperty(value = "MAC9(修改后)")
    private String mac9Modified;

    @ApiModelProperty(value = "MAC10(修改后)")
    private String mac10Modified;

    @ApiModelProperty(value = "MAC11(修改后)")
    private String mac11Modified;

    @ApiModelProperty(value = "MAC12(修改后)")
    private String mac12Modified;


    @ApiModelProperty(value = "IP1(修改后)")
    private List<String> ipListModified;

    @ApiModelProperty(value = "集群(修改后)")
    private String qjModified;

    @ApiModelProperty(value = "维修记录(修改后)")
    private String fixRecordModified;

    @ApiModelProperty(value = "维修日期(修改后)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate fixTimeModified;

    @ApiModelProperty(value = "备份情况说明(修改后)")
    private String bfModified;

    @ApiModelProperty(value = "业务网段(修改后)")
    private String networkSegmentModified;

    @ApiModelProperty(value = "ILO(修改后)")
    private String iloModified;

}
